namespace SlickGridNet.Serialization
{
	/// <summary>
	/// Interface for self realizing entities
	/// </summary>
	public interface ISelfRealize
	{
		/// <summary>
		/// should return JavaScript code
		/// </summary>
		/// <returns></returns>
		string GetCode();

		/// <summary>
		/// here you can include scripts for self realize objects
		/// </summary>
		/// <param name="scripts">collection of scripts to include</param>
		void IncludeScripts(ResourcesCollection scripts);

		/// <summary>
		/// here you can include scripts for self realize objects
		/// </summary>
		/// <param name="stylesheets">collection of stylesheets to include</param>
		void IncludeStylesheets(ResourcesCollection stylesheets);
	}
}